import http from './http';
import { requestWithRetry } from '@/utils/retry';

// 跨组织分析API
export const crossOrganizationAnalysisAPI = {
  // 获取跨组织客户分析数据
  getCustomerAnalysis: async () => {
    try {
      // 使用重试机制获取跨组织客户分析数据
      const response = await requestWithRetry(
        () => http.get('/analysis/cross-organization/customers'),
        3, // 最多重试3次
        1000 // 基础延迟1秒
      );
      
      return {
        success: true,
        data: response.data
      };
    } catch (error: any) {
      return {
        success: false,
        data: null,
        message: error.message || '获取跨组织客户分析数据失败'
      };
    }
  },

  // 获取跨组织销售分析数据
  getSalesAnalysis: async () => {
    try {
      // 使用重试机制获取跨组织销售分析数据
      const response = await requestWithRetry(
        () => http.get('/analysis/cross-organization/sales'),
        3, // 最多重试3次
        1000 // 基础延迟1秒
      );
      
      return {
        success: true,
        data: response.data
      };
    } catch (error: any) {
      return {
        success: false,
        data: null,
        message: error.message || '获取跨组织销售分析数据失败'
      };
    }
  },

  // 获取跨组织财务分析数据
  getFinancialAnalysis: async () => {
    try {
      // 使用重试机制获取跨组织财务分析数据
      const response = await requestWithRetry(
        () => http.get('/analysis/cross-organization/financial'),
        3, // 最多重试3次
        1000 // 基础延迟1秒
      );
      
      return {
        success: true,
        data: response.data
      };
    } catch (error: any) {
      return {
        success: false,
        data: null,
        message: error.message || '获取跨组织财务分析数据失败'
      };
    }
  },
  
  // 获取跨组织供应商分析数据
  getSupplierAnalysis: async () => {
    try {
      // 使用重试机制获取跨组织供应商分析数据
      const response = await requestWithRetry(
        () => http.get('/analysis/cross-organization/suppliers'),
        3, // 最多重试3次
        1000 // 基础延迟1秒
      );
      
      return {
        success: true,
        data: response.data
      };
    } catch (error: any) {
      return {
        success: false,
        data: null,
        message: error.message || '获取跨组织供应商分析数据失败'
      };
    }
  }
}

export default crossOrganizationAnalysisAPI